import { IPSWFProcess } from './ipswfprocess';
import { IPSWorkflow } from './ipsworkflow';

/**
 *
 * @export
 * @interface IPSWFCallActivityProcess
 */
export interface IPSWFCallActivityProcess extends IPSWFProcess {
  /**
   * 多实例模式
   * @description 值模式 [流程处理多实例模式] {NONE：无、 PARALLEL：并行多实例、 SEQUENTIAL：串行多实例 }
   * @type {( string | 'NONE' | 'PARALLEL' | 'SEQUENTIAL')}
   * @default NONE
   */
  multiInstMode: string | 'NONE' | 'PARALLEL' | 'SEQUENTIAL';

  /**
   * 调用目标流程
   *
   * @type {IPSWorkflow}
   */
  getTargetPSWF(): IPSWorkflow | null;

  /**
   * 调用目标流程
   *
   * @type {IPSWorkflow}
   */
  get targetPSWF(): IPSWorkflow | null;

  /**
   * 调用目标流程（必须存在）
   *
   * @type {IPSWorkflow}
   */
  getTargetPSWFMust(): IPSWorkflow;
}
